1. Field of the Invention
The present invention relates to the field of computer systems. In particular, the present invention is a method and apparatus for scoped interprocess message switching between a sender process and a plurality of receiver processes.
2. Art Background
Conventional interprocess communication facilities deliver messages in as many as three modes: broadcast to all processes, multicast to a group of processes, or point-to-point to a particular process. Except for broadcast delivery, the other two modes require the sender process to supply the identities of the receiver processes. Absent from conventional facilities is the ability for a sender process to address a scoped message to a set of receiver processes, specifying the name of the set but not the identities of the processes in the set.
A process is a copy or an instance of a program, an executable file, in process of execution. A scoped message is a message having a message scope which defines the set of receiver processes eligible for receiving the scoped message.
In cooperative multiprocess applications, processes executing within the same user session or in different user sessions, sometimes share common files. When one process changes one of the shared files, the other processes sharing the file being changed, whether they are executing within the same user session or in different user sessions, should be informed of the change. For example, a number of displaying processes may be displaying a shared common file for different user sessions, these displaying processes will have to update their displays, if the shared file is changed by one of the processes. To notify all these displaying processes, messages will have to be delivered within a session and across sessions.
Conventional facilities require that the message be broadcast or the identities of these receiver processes be provided. The former is wasteful; the latter is difficult to implement as it requires each process to communicate its changing interest in the sharable files to all other processes, and to track the changing interests of all other processes. In cooperative multiprocess applications, the set of processes within a scope changes as processes are created or destroyed, and as processes work with one file, then another.
As will be described, the present invention overcomes the disadvantages of the prior art, and provides a method and apparatus for scoped interprocess message switching between a sender process and a plurality of receiver processes.